package com.yc.project1_matrix.individual;

import com.yc.project1_matrix.MatrixGenerater;

/**
 * 结果矩阵中每个元素一个线程的版本：细粒度多线程版
 */
public class Test2_ParalleIndividualMultiplier {
    public static void main(String[] args) {
        //生成2个矩阵
        double  matrix1[][] = MatrixGenerater.generate(2000,2000);
        double  matrix2[][] =MatrixGenerater.generate(2000,2000);//4 000 000线程
        //结果矩阵
        double result[][]= new double [matrix1.length][matrix2[0].length];
        long start = System.currentTimeMillis();

        //SeriaMultiplier.multiply(matrix1,matrix2, result);
        ParalleIndividualMultiplier.multiply(matrix1,matrix2,result);//上下文切换次数特别多
        long end =System.currentTimeMillis();
        System.out.println("计算结果矩阵中每个元素一个线程矩阵乘法时间"+(end-start));
    }
}

//线控上下文切换时间，线程并不是越多越好











